package com.zmn.oms.third.jingdong.service;

import com.jdwl.open.api.sdk.response.lasim.LasImHfsOrderSearchResponse;
import com.zmn.oms.common.exception.OmsBaseException;
import com.zmn.oms.model.bo.order.OrderBO;
import com.zmn.oms.model.entity.work.OrderWorkLogChange;
import com.zmn.oms.third.jingdong.dto.api.SyncOrderResult;

import java.util.List;

/**
 * 类描述：
 *
 * @author LiangHailong
 * @date 2019/09/07 18:24
 */
public interface JingdongService {

    /**
     * 拉取订单
     */
    void pullOrder();

    /**
     * 拉取订单
     */
    void pullOrderByQueryCode(String queryCode);

    /**
     * 用于丢单时手动补偿录单
     * @param lasImHfsOrderSearchResponse
     */
    List<OrderBO> saveOrder4Remedy(LasImHfsOrderSearchResponse lasImHfsOrderSearchResponse) throws OmsBaseException;

    /**
     * 同步预约时间
     * @param orderWorkLogChange
     */
    void syncDutyTime(OrderWorkLogChange orderWorkLogChange);

    /**
     * 同步工程师信息
     * @param orderWorkLogChange
     */
    void syncMaster(OrderWorkLogChange orderWorkLogChange);

    /**
     * 同步订单完成
     * @param orderWorkLogChange
     */
    SyncOrderResult syncOrderComplete(OrderWorkLogChange orderWorkLogChange);

    /**
     * 同步订单取消
     * @param orderWorkLogChange
     */
    SyncOrderResult syncOrderCancel(OrderWorkLogChange orderWorkLogChange);
}
